home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 1.iso / dist / fw_enscript.idb / usr / freeware / share / enscript / hl / zsh.st.z / zsh.st
Encoding:
Text File  |  2002-04-08  |  2.3 KB  |  78 lines

  1. /**
  2.  * Name: zsh
  3.  * Description: Z-shell programming language.
  4.  * Author: Jean-Marc Calvez <jean-marc.calvez@st.com>
  5.  */
  6.  
  7. state zsh extends HighlightEntry
  8. {
  9.   /* Comments. */
  10.   /#/ {
  11.     comment_face (true);
  12.     language_print ($0);
  13.     call (eat_one_line);
  14.     comment_face (false);
  15.   }
  16.  
  17.   /* String constants. */
  18.   /\"/ {
  19.     string_face (true);
  20.     language_print ($0);
  21.     call (c_string);
  22.     string_face (false);
  23.   }
  24.  
  25.   /* Excutable script. */
  26.   /^#!/ {
  27.     reference_face (true);
  28.     language_print ($0);
  29.     call (eat_one_line);
  30.     reference_face (false);
  31.   }
  32.  
  33.   /* Keywords:
  34.      (build-re '(: noglob nocorrect exec command if then elif else fi for in do
  35.      done while until repeat case esac select function time foreach end coproc
  36.      return alias autoload bg bindkey break builtin bye cd chdir compctl
  37.      continue declare dirs disable disown echo echotc emulate enabke eval exec
  38.      exit export false fc fg functions getln getopts hash history integer jobs
  39.      kill let limit local log logout popd print pushd pushln pwd read readonly
  40.      rehash return sched set setopt shift source suspend test times trap
  41.      ttyctl type typeset ulimit umask unalias unfunction unhash unlimit unset
  42.      unsetopt vared wait whence where which))
  43.   */
  44.   /\b(:|a(lias|utoload)|b(g|indkey|reak|uiltin|ye)\
  45. |c(ase|d|hdir|o(m(mand|pctl)|ntinue|proc))\
  46. |d(eclare|i(rs|s(able|own))|o(|ne))\
  47. |e(cho(|tc)|l(if|se)|mulate|n(abke|d)|sac|val|x(ec()|it|port))\
  48. |f(alse|c|g|i|or(|each)|unction(|s))|get(ln|opts)|h(ash|istory)\
  49. |i(f|n(|teger))|jobs|kill|l(et|imit|o(cal|g(|out)))|no(correct|glob)\
  50. |p(opd|rint|ush(d|ln)|wd)|re(ad(|only)|hash|peat|turn())\
  51. |s(ched|e(lect|t(|opt))|hift|ource|uspend)\
  52. |t(est|hen|ime(|s)|rap|tyctl|ype(|set))\
  53. |u(limit|mask|n(alias|function|hash|limit|set(|opt)|til))|vared\
  54. |w(ait|h(e(nce|re)|i(ch|le))))\b/ {
  55.     keyword_face (true);
  56.     language_print ($0);
  57.     keyword_face (false);
  58.   }
  59.  
  60.   /* special functions (built-in)
  61.      (build-re '(chpwd precmd periodic argv status signals cdpath fignore
  62.      fpath histchars mailpath manpath path psvar prompt watch))
  63.   */
  64.   /\b(argv|c(dpath|hpwd)|f(ignore|path)|histchars|ma(ilpath|npath)\
  65. |p(ath|eriodic|r(ecmd|ompt)|svar)|s(ignals|tatus)|watch)\b/ {
  66.     builtin_face (true);
  67.     language_print ($0);
  68.     builtin_face (false);
  69.   }
  70. }
  71.  
  72.  
  73. /*
  74. Local variables:
  75. mode: c
  76. End:
  77. */
  78.